home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / picks.com / PICKDEM.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-12-28  |  2.7 KB  |  70 lines

  1. program PICKDEM;    { John Haluska, CIS 74000,1106    Turbo Pascal 4.0, 5.0 }
  2.  
  3. { Demo for Picks unit.  Generates a vertical and horizontal menu.  }
  4.  
  5. uses
  6.   Crt,Picks;
  7.  
  8. var
  9.   ActPicks,                                   { Actual number of menu items }
  10.   Result : integer;                                    { Menu item selected }
  11.  
  12. {----------------------------------------------------------------------------}
  13. procedure InitializeMenu1;                        { Demo for horizontal menu }
  14.  
  15. var
  16.   I  : integer;
  17. begin
  18.   ActPicks := 5;                        { Initialize number of menu items }
  19.   TxtColor := LightGray;  BkgdColor := Blue;     { Initialize display colors }
  20.   TextAttr := TxtColor + BkgdColor*16;                   { Make full display }
  21.   ClrScr;                                                    { assume colors }
  22.   for I := 1 to ActPicks do
  23.     begin
  24.       Pick[I].Row := 3;  Pick[I].Column := 10*I   { Initialize menu location }
  25.     end;
  26.   Pick[1].Title := ' 1 Title ';                     { Define menu item names }
  27.   Pick[2].Title := ' 2 Title ';
  28.   Pick[3].Title := ' 3 Title ';
  29.   Pick[4].Title := ' 4 Title ';
  30.   Pick[5].Title := ' 5 Title ';
  31. end; {InitializeMenu1}
  32. {----------------------------------------------------------------------------}
  33. procedure InitializeMenu2;                          { Demo for vertical menu }
  34.  
  35. var
  36.   I : integer;
  37. begin
  38.   ActPicks := 4;                           { Initialize number of menu items }
  39.   TxtColor := Red;  BkgdColor := Black;          { Initialize display colors }
  40.   TextAttr := TxtColor + BkgdColor*16;                   { Make full display }
  41.   ClrScr;                                                    { assume colors }
  42.   for I := 1 to ActPicks do
  43.     begin
  44.        Pick[I].Row := I + 4;  Pick[I].Column := 5;
  45.     end;
  46.   Pick[1].Title := 'A Choice 1';
  47.   Pick[2].Title := 'B Choice 2';
  48.   Pick[3].Title := 'C Choice 3';
  49.   Pick[4].Title := 'D Choice 4';
  50. end; {InitializeMenu2}
  51. {----------------------------------------------------------------------------}
  52.  
  53. begin                                                         { Demo program }
  54.   repeat
  55.     InitializeMenu1;
  56.     Result := DisplayMenuGetPick(1,ActPicks);
  57.     GoToXY(10,20);
  58.     Write('Item ',Result,' was selected.  Space to continue.  ESC to quit.');
  59.     if ReadKey = #27 then
  60.       begin
  61.         NormVideo;  ClrScr;  Exit;       { Restore display to initial colors }
  62.       end;
  63.     InitializeMenu2;
  64.     Result := DisplayMenuGetPick(3,ActPicks);
  65.     GoToXY(10,20);
  66.     Write('Item ',Result,' was selected.  Space to continue.  ESC to quit.');
  67.   until ReadKey = #27;
  68.   NormVideo; ClrScr;                     { Restore display to initial colors }
  69. end.
  70.